// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once

#include "targetver.h"
typedef float MY_DATATYPE;
#define INIT_DATA 0

#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
#define MAX_LINE_CHARS_COUNT 255
// Windows Header Files:
#include <windows.h>

// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <map>
#include "Point3D.h"

#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS      // some CString constructors will be explicit

#include <atlbase.h>
#include <atlstr.h>

// TODO: reference additional headers your program requires here
#define PI 3.1415926535897932384626433832795
#define EPSILON 0.00000001
#define GET_COORDS(x,y,ind,width){div_t rem = div((int)ind,(int)width);x = rem.rem;y = rem.quot;}

typedef std::map<MY_DATATYPE,Point3D,std::less<MY_DATATYPE>> MapType;
typedef std::map<MY_DATATYPE,MapType*,std::less<MY_DATATYPE>> MaterialType;

extern "C" typedef __declspec(dllexport) void (__stdcall * NotifyProgressCallback)(int);
extern "C" typedef __declspec(dllexport) void (__stdcall * ErrorNotifyCallback)(char * errName);